diff -Naur steghide-0.5.1.orig/src/AuData.h steghide-0.5.1.new/src/AuData.h
--- steghide-0.5.1.orig/src/AuData.h	2003-09-28 11:30:29.000000000 -0400
+++ steghide-0.5.1.new/src/AuData.h	2007-06-28 17:22:44.000000000 -0400
@@ -26,22 +26,30 @@
 
 // AuMuLawAudioData
 typedef AudioDataImpl<AuMuLaw,BYTE> AuMuLawAudioData ;
+template<>
 inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
+template<>
 inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
 
 // AuPCM8AudioData
 typedef AudioDataImpl<AuPCM8,SBYTE> AuPCM8AudioData ;
+template<>
 inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
+template<>
 inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
 
 // AuPCM16AudioData
 typedef AudioDataImpl<AuPCM16,SWORD16> AuPCM16AudioData ;
+template<>
 inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
+template<>
 inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
 
 // AuPCM32AudioData
 typedef AudioDataImpl<AuPCM32,SWORD32> AuPCM32AudioData ;
+template<>
 inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
+template<>
 inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
 
 #endif // ndef SH_AUDATA_H
diff -Naur steghide-0.5.1.orig/src/AuSampleValues.cc steghide-0.5.1.new/src/AuSampleValues.cc
--- steghide-0.5.1.orig/src/AuSampleValues.cc	2003-09-28 11:30:30.000000000 -0400
+++ steghide-0.5.1.new/src/AuSampleValues.cc	2007-06-28 17:23:52.000000000 -0400
@@ -21,17 +21,25 @@
 #include "AuSampleValues.h"
 
 // AuMuLawSampleValue
+template<>
 const BYTE AuMuLawSampleValue::MinValue = 0 ;
+template<>
 const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
 
 // AuPCM8SampleValue
+template<>
 const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
+template<>
 const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
 
 // AuPCM16SampleValue
+template<>
 const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
+template<>
 const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
 
 // AuPCM32SampleValue
+template<>
 const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
+template<>
 const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;
diff -Naur steghide-0.5.1.orig/src/MHashPP.cc steghide-0.5.1.new/src/MHashPP.cc
--- steghide-0.5.1.orig/src/MHashPP.cc	2003-10-05 06:17:50.000000000 -0400
+++ steghide-0.5.1.new/src/MHashPP.cc	2007-06-28 17:22:44.000000000 -0400
@@ -120,7 +120,7 @@
 
 std::string MHashPP::getAlgorithmName (hashid id)
 {
-	char *name = mhash_get_hash_name (id) ;
+	char *name = (char *) mhash_get_hash_name (id) ;
 	std::string retval ;
 	if (name == NULL) {
 		retval = std::string ("<algorithm not found>") ;
